/*
#include <stdio.h>

FILE *popen(const char *command, const char *type);]

功能:popen 函数用于执行一个命令，并打开一个管道，以便读取该命令的输出或向其写入数据。这个管道连接到新进程的标准输入或标准输出。
参数:
    command: 要执行的命令字符串。
    type: 指定管道的类型：
    	"r": 打开管道以读取命令的输出。
    	"w": 打开管道以写入数据到命令的标准输入。
返回值:
    成功: 返回一个指向 FILE 结构的指针，可用于读取或写入命令的标准输入输出。
    失败: 返回 NULL，并设置 errno 来指示错误。
*/

#include <head.h>

int main(int argc, char const *argv[])
{
    FILE * P_fp = popen("ls -l" , "r");
    if(NULL == P_fp)
    {
        ERRLOG("管道文件打开失败");
        return 0;
    }

    FILE * fp = fopen("ls.txt" , "w+");

    char buf[1024] = {0};


    
    while (fgets( buf , 1024 , P_fp) != NULL)
    {
        fputs( buf , fp);
        printf("%s" , buf);
    }
    
    
    fclose(P_fp);
    fclose(fp);

}

